package com.ruoyi.service;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.domain.DailyReport;

import java.util.Map;

/**
 * 日报管理模块 - 服务层接口
 * 定义日报相关的业务逻辑
 */
public interface DailyReportService {

    /**
     * 获取日报列表（分页和条件查询）
     *
     * @param params 查询参数
     * @param currentUser 当前登录用户
     * @return 分页后的日报数据
     */
    Map<String, Object> getReportList(Map<String, Object> params, SysUser currentUser);

    /**
     * 新增日报
     *
     * @param report 日报对象
     * @param currentUser 当前登录用户
     * @return 操作结果
     */
    AjaxResult addReport(DailyReport report, SysUser currentUser);

    /**
     * 编辑现有日报
     *
     * @param id 日报 ID
     * @param report 日报对象
     * @param currentUser 当前登录用户
     * @return 操作结果
     */
    AjaxResult editReport(Long id, DailyReport report, SysUser currentUser);

    /**
     * 删除指定日报
     *
     * @param id 日报 ID
     * @return 操作结果
     */
    AjaxResult deleteReport(Long id);

    /**
     * 获取单条日报的详细信息
     *
     * @param id 日报 ID
     * @return 日报详情
     */
    AjaxResult getReportDetails(Long id);
}
